#include "JugadorEnviar.h"

JugadorEnviar::JugadorEnviar(Cliente& cli, VectorProtegido<Json::Value*>& vector,
		Mutex& m, ConditionVariable& cv, unsigned & envRealizados)
: cliente(cli), vectorDeEnvios(vector), mutexSala(m), cvSala(cv), enviosRealizados(envRealizados)
{
	estaCorriendo = false;
}

void JugadorEnviar::startMethod()
{
	estaCorriendo = true;
	while(estaCorriendo && cliente.estaConectado()){
		Json::Value* root = NULL;
		for(unsigned i = 0; i < vectorDeEnvios.size() && estaCorriendo; i++){
			root = vectorDeEnvios[i];
			cliente.enviar(*root);
		}
		Lock lock(mutexSala);
		enviosRealizados++; //Avisa a la sala que envio
		cvSala.wait(mutexSala);//Espera una nueva orden
	}
}

void JugadorEnviar::matar()
{
	estaCorriendo = false;
}
